Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: include reason in block production selection logs #7350

Open
wants to merge 2 commits into
base: unstable
Choose a base branch
from

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 10, 2025

Might as well add this information to block production selection logs, makes it easier to figure out why it was selected without looking the error log or other variables part of the log.

@nflaig nflaig requested a review from a team as a code owner January 10, 2025 13:21
Copy link

codecov bot commented Jan 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.76%. Comparing base (e6a0cb2) to head (a0de7d9).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7350   +/-   ##
=========================================
  Coverage     48.76%   48.76%           
=========================================
  Files           601      601           
  Lines         40243    40243           
  Branches       2067     2067           
=========================================
  Hits          19626    19626           
  Misses        20579    20579           
  Partials         38       38           

Copy link
Contributor

github-actions bot commented Jan 10, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b605ac8 Previous: e6a0cb2 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8770 ms/op 1.6603 ms/op 1.13
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 74.204 us/op 67.112 us/op 1.11
BLS verify - blst 965.50 us/op 875.51 us/op 1.10
BLS verifyMultipleSignatures 3 - blst 1.2915 ms/op 1.3245 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst 1.9278 ms/op 2.1431 ms/op 0.90
BLS verifyMultipleSignatures 32 - blst 5.9682 ms/op 4.5091 ms/op 1.32
BLS verifyMultipleSignatures 64 - blst 10.672 ms/op 8.5795 ms/op 1.24
BLS verifyMultipleSignatures 128 - blst 18.020 ms/op 16.032 ms/op 1.12
BLS deserializing 10000 signatures 766.86 ms/op 610.59 ms/op 1.26
BLS deserializing 100000 signatures 7.5995 s/op 6.3419 s/op 1.20
BLS verifyMultipleSignatures - same message - 3 - blst 1.1410 ms/op 911.76 us/op 1.25
BLS verifyMultipleSignatures - same message - 8 - blst 1.2522 ms/op 1.0872 ms/op 1.15
BLS verifyMultipleSignatures - same message - 32 - blst 1.8528 ms/op 1.7270 ms/op 1.07
BLS verifyMultipleSignatures - same message - 64 - blst 2.8876 ms/op 2.4977 ms/op 1.16
BLS verifyMultipleSignatures - same message - 128 - blst 5.1774 ms/op 4.0553 ms/op 1.28
BLS aggregatePubkeys 32 - blst 22.424 us/op 17.406 us/op 1.29
BLS aggregatePubkeys 128 - blst 77.132 us/op 60.640 us/op 1.27
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 102.61 ms/op 82.998 ms/op 1.24
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 62.646 ms/op 50.424 ms/op 1.24
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 54.550 ms/op 41.361 ms/op 1.32
getSlashingsAndExits - default max 176.22 us/op 110.83 us/op 1.59
getSlashingsAndExits - 2k 838.15 us/op 447.24 us/op 1.87
proposeBlockBody type=full, size=empty 8.2411 ms/op 5.8812 ms/op 1.40
isKnown best case - 1 super set check 667.00 ns/op 469.00 ns/op 1.42
isKnown normal case - 2 super set checks 627.00 ns/op 459.00 ns/op 1.37
isKnown worse case - 16 super set checks 630.00 ns/op 469.00 ns/op 1.34
InMemoryCheckpointStateCache - add get delete 5.4580 us/op 3.4500 us/op 1.58
validate api signedAggregateAndProof - struct 2.3695 ms/op 1.6434 ms/op 1.44
validate gossip signedAggregateAndProof - struct 2.1559 ms/op 1.7368 ms/op 1.24
batch validate gossip attestation - vc 640000 - chunk 32 200.70 us/op 132.19 us/op 1.52
batch validate gossip attestation - vc 640000 - chunk 64 178.69 us/op 112.05 us/op 1.59
batch validate gossip attestation - vc 640000 - chunk 128 119.59 us/op 101.37 us/op 1.18
batch validate gossip attestation - vc 640000 - chunk 256 108.13 us/op 98.684 us/op 1.10
pickEth1Vote - no votes 963.54 us/op 913.81 us/op 1.05
pickEth1Vote - max votes 6.2566 ms/op 5.4274 ms/op 1.15
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.068 ms/op 13.018 ms/op 1.39
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.876 ms/op 17.915 ms/op 1.28
pickEth1Vote - Eth1Data fastSerialize value x2048 455.21 us/op 379.84 us/op 1.20
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.0712 ms/op 3.0497 ms/op 1.01
bytes32 toHexString 432.00 ns/op 573.00 ns/op 0.75
bytes32 Buffer.toString(hex) 237.00 ns/op 448.00 ns/op 0.53
bytes32 Buffer.toString(hex) from Uint8Array 376.00 ns/op 643.00 ns/op 0.58
bytes32 Buffer.toString(hex) + 0x 238.00 ns/op 421.00 ns/op 0.57
Object access 1 prop 0.13600 ns/op 0.33900 ns/op 0.40
Map access 1 prop 0.13600 ns/op 0.36000 ns/op 0.38
Object get x1000 6.0630 ns/op 5.4670 ns/op 1.11
Map get x1000 6.4830 ns/op 6.8120 ns/op 0.95
Object set x1000 31.671 ns/op 25.458 ns/op 1.24
Map set x1000 21.570 ns/op 21.254 ns/op 1.01
Return object 10000 times 0.28820 ns/op 0.31460 ns/op 0.92
Throw Error 10000 times 3.3297 us/op 2.8087 us/op 1.19
toHex 142.63 ns/op 127.40 ns/op 1.12
Buffer.from 132.16 ns/op 126.74 ns/op 1.04
shared Buffer 92.167 ns/op 78.454 ns/op 1.17
fastMsgIdFn sha256 / 200 bytes 2.1670 us/op 2.0770 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 250.00 ns/op 491.00 ns/op 0.51
fastMsgIdFn h64 xxhash / 200 bytes 268.00 ns/op 479.00 ns/op 0.56
fastMsgIdFn sha256 / 1000 bytes 7.2190 us/op 6.0760 us/op 1.19
fastMsgIdFn h32 xxhash / 1000 bytes 387.00 ns/op 624.00 ns/op 0.62
fastMsgIdFn h64 xxhash / 1000 bytes 350.00 ns/op 551.00 ns/op 0.64
fastMsgIdFn sha256 / 10000 bytes 63.793 us/op 51.580 us/op 1.24
fastMsgIdFn h32 xxhash / 10000 bytes 1.8420 us/op 2.0690 us/op 0.89
fastMsgIdFn h64 xxhash / 10000 bytes 1.1840 us/op 1.4040 us/op 0.84
send data - 1000 256B messages 12.089 ms/op 12.831 ms/op 0.94
send data - 1000 512B messages 15.809 ms/op 18.399 ms/op 0.86
send data - 1000 1024B messages 23.522 ms/op 22.483 ms/op 1.05
send data - 1000 1200B messages 27.444 ms/op 23.918 ms/op 1.15
send data - 1000 2048B messages 32.340 ms/op 29.302 ms/op 1.10
send data - 1000 4096B messages 32.173 ms/op 32.047 ms/op 1.00
send data - 1000 16384B messages 74.477 ms/op 73.246 ms/op 1.02
send data - 1000 65536B messages 221.83 ms/op 321.60 ms/op 0.69
enrSubnets - fastDeserialize 64 bits 1.0900 us/op 1.7040 us/op 0.64
enrSubnets - ssz BitVector 64 bits 363.00 ns/op 705.00 ns/op 0.51
enrSubnets - fastDeserialize 4 bits 148.00 ns/op 406.00 ns/op 0.36
enrSubnets - ssz BitVector 4 bits 357.00 ns/op 752.00 ns/op 0.47
prioritizePeers score -10:0 att 32-0.1 sync 2-0 134.91 us/op 207.05 us/op 0.65
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 162.22 us/op 218.00 us/op 0.74
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 217.08 us/op 362.69 us/op 0.60
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 389.58 us/op 579.56 us/op 0.67
prioritizePeers score 0:0 att 64-1 sync 4-1 494.04 us/op 684.15 us/op 0.72
array of 16000 items push then shift 1.6572 us/op 1.4890 us/op 1.11
LinkedList of 16000 items push then shift 7.1840 ns/op 7.6300 ns/op 0.94
array of 16000 items push then pop 108.59 ns/op 124.39 ns/op 0.87
LinkedList of 16000 items push then pop 6.8380 ns/op 7.2350 ns/op 0.95
array of 24000 items push then shift 2.3870 us/op 2.0178 us/op 1.18
LinkedList of 24000 items push then shift 7.0620 ns/op 7.4390 ns/op 0.95
array of 24000 items push then pop 137.63 ns/op 170.18 ns/op 0.81
LinkedList of 24000 items push then pop 7.0170 ns/op 6.8850 ns/op 1.02
intersect bitArray bitLen 8 6.3260 ns/op 5.6820 ns/op 1.11
intersect array and set length 8 42.951 ns/op 39.251 ns/op 1.09
intersect bitArray bitLen 128 30.850 ns/op 27.298 ns/op 1.13
intersect array and set length 128 667.01 ns/op 593.86 ns/op 1.12
bitArray.getTrueBitIndexes() bitLen 128 1.3780 us/op 1.6020 us/op 0.86
bitArray.getTrueBitIndexes() bitLen 248 2.3570 us/op 2.7150 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 512 4.3740 us/op 5.0110 us/op 0.87
Buffer.concat 32 items 759.00 ns/op 958.00 ns/op 0.79
Uint8Array.set 32 items 1.6290 us/op 1.7090 us/op 0.95
Buffer.copy 2.8040 us/op 2.7560 us/op 1.02
Uint8Array.set - with subarray 2.8290 us/op 2.7760 us/op 1.02
Uint8Array.set - without subarray 1.8370 us/op 2.0040 us/op 0.92
getUint32 - dataview 297.00 ns/op 476.00 ns/op 0.62
getUint32 - manual 256.00 ns/op 447.00 ns/op 0.57
Set add up to 64 items then delete first 2.8756 us/op 1.9975 us/op 1.44
OrderedSet add up to 64 items then delete first 3.6967 us/op 3.0656 us/op 1.21
Set add up to 64 items then delete last 2.7341 us/op 2.2865 us/op 1.20
OrderedSet add up to 64 items then delete last 3.8663 us/op 3.2698 us/op 1.18
Set add up to 64 items then delete middle 2.4772 us/op 2.3119 us/op 1.07
OrderedSet add up to 64 items then delete middle 5.2341 us/op 4.9871 us/op 1.05
Set add up to 128 items then delete first 5.1088 us/op 4.3225 us/op 1.18
OrderedSet add up to 128 items then delete first 7.7826 us/op 7.0842 us/op 1.10
Set add up to 128 items then delete last 5.0578 us/op 4.6049 us/op 1.10
OrderedSet add up to 128 items then delete last 8.1583 us/op 6.1666 us/op 1.32
Set add up to 128 items then delete middle 5.3287 us/op 4.0702 us/op 1.31
OrderedSet add up to 128 items then delete middle 14.422 us/op 12.484 us/op 1.16
Set add up to 256 items then delete first 11.598 us/op 8.2575 us/op 1.40
OrderedSet add up to 256 items then delete first 16.454 us/op 12.554 us/op 1.31
Set add up to 256 items then delete last 9.6449 us/op 7.8216 us/op 1.23
OrderedSet add up to 256 items then delete last 14.514 us/op 11.923 us/op 1.22
Set add up to 256 items then delete middle 10.050 us/op 7.9043 us/op 1.27
OrderedSet add up to 256 items then delete middle 42.545 us/op 36.766 us/op 1.16
transfer serialized Status (84 B) 2.5210 us/op 2.6830 us/op 0.94
copy serialized Status (84 B) 1.2730 us/op 1.4910 us/op 0.85
transfer serialized SignedVoluntaryExit (112 B) 2.5510 us/op 2.6380 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.4310 us/op 1.5530 us/op 0.92
transfer serialized ProposerSlashing (416 B) 2.9490 us/op 2.4360 us/op 1.21
copy serialized ProposerSlashing (416 B) 1.5820 us/op 1.6050 us/op 0.99
transfer serialized Attestation (485 B) 2.7000 us/op 2.4720 us/op 1.09
copy serialized Attestation (485 B) 1.6630 us/op 1.6580 us/op 1.00
transfer serialized AttesterSlashing (33232 B) 2.8370 us/op 3.0680 us/op 0.92
copy serialized AttesterSlashing (33232 B) 5.8870 us/op 5.0710 us/op 1.16
transfer serialized Small SignedBeaconBlock (128000 B) 4.3350 us/op 3.9270 us/op 1.10
copy serialized Small SignedBeaconBlock (128000 B) 21.971 us/op 11.589 us/op 1.90
transfer serialized Avg SignedBeaconBlock (200000 B) 4.4280 us/op 3.8290 us/op 1.16
copy serialized Avg SignedBeaconBlock (200000 B) 22.948 us/op 14.176 us/op 1.62
transfer serialized BlobsSidecar (524380 B) 3.8870 us/op 4.6850 us/op 0.83
copy serialized BlobsSidecar (524380 B) 101.03 us/op 159.68 us/op 0.63
transfer serialized Big SignedBeaconBlock (1000000 B) 4.3220 us/op 4.8380 us/op 0.89
copy serialized Big SignedBeaconBlock (1000000 B) 151.94 us/op 174.12 us/op 0.87
pass gossip attestations to forkchoice per slot 2.8447 ms/op 2.4486 ms/op 1.16
forkChoice updateHead vc 100000 bc 64 eq 0 510.96 us/op 365.08 us/op 1.40
forkChoice updateHead vc 600000 bc 64 eq 0 3.5510 ms/op 2.3261 ms/op 1.53
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8610 ms/op 4.2643 ms/op 1.14
forkChoice updateHead vc 600000 bc 320 eq 0 2.8703 ms/op 2.4633 ms/op 1.17
forkChoice updateHead vc 600000 bc 1200 eq 0 2.6246 ms/op 2.4820 ms/op 1.06
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5182 ms/op 2.9086 ms/op 1.21
forkChoice updateHead vc 600000 bc 64 eq 1000 10.495 ms/op 9.6999 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 10000 10.595 ms/op 10.464 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 300000 14.258 ms/op 15.521 ms/op 0.92
computeDeltas 500000 validators 300 proto nodes 4.2747 ms/op 3.4195 ms/op 1.25
computeDeltas 500000 validators 1200 proto nodes 4.4493 ms/op 3.5001 ms/op 1.27
computeDeltas 500000 validators 7200 proto nodes 4.4128 ms/op 3.5739 ms/op 1.23
computeDeltas 750000 validators 300 proto nodes 6.3278 ms/op 5.2835 ms/op 1.20
computeDeltas 750000 validators 1200 proto nodes 6.1942 ms/op 5.6076 ms/op 1.10
computeDeltas 750000 validators 7200 proto nodes 6.2068 ms/op 5.7899 ms/op 1.07
computeDeltas 1400000 validators 300 proto nodes 11.425 ms/op 10.871 ms/op 1.05
computeDeltas 1400000 validators 1200 proto nodes 12.003 ms/op 9.7958 ms/op 1.23
computeDeltas 1400000 validators 7200 proto nodes 11.811 ms/op 9.7669 ms/op 1.21
computeDeltas 2100000 validators 300 proto nodes 17.635 ms/op 14.961 ms/op 1.18
computeDeltas 2100000 validators 1200 proto nodes 17.864 ms/op 15.204 ms/op 1.17
computeDeltas 2100000 validators 7200 proto nodes 17.673 ms/op 16.074 ms/op 1.10
altair processAttestation - 250000 vs - 7PWei normalcase 1.9451 ms/op 2.4323 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei worstcase 2.5548 ms/op 3.0448 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 102.69 us/op 114.20 us/op 0.90
altair processAttestation - setStatus - 1/3 committees join 184.93 us/op 252.01 us/op 0.73
altair processAttestation - setStatus - 1/2 committees join 256.04 us/op 286.44 us/op 0.89
altair processAttestation - setStatus - 2/3 committees join 340.45 us/op 367.25 us/op 0.93
altair processAttestation - setStatus - 4/5 committees join 471.09 us/op 510.62 us/op 0.92
altair processAttestation - setStatus - 100% committees join 572.90 us/op 574.03 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 4.3216 ms/op 3.8274 ms/op 1.13
altair processBlock - 250000 vs - 7PWei normalcase hashState 27.686 ms/op 25.207 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase 37.119 ms/op 35.726 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase hashState 91.484 ms/op 65.414 ms/op 1.40
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5325 ms/op 2.1737 ms/op 1.17
phase0 processBlock - 250000 vs - 7PWei worstcase 29.891 ms/op 23.948 ms/op 1.25
altair processEth1Data - 250000 vs - 7PWei normalcase 399.40 us/op 265.34 us/op 1.51
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.436 us/op 6.5470 us/op 1.59
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 61.783 us/op 41.680 us/op 1.48
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.393 us/op 12.977 us/op 1.26
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.1960 us/op 8.9250 us/op 0.81
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 175.73 us/op 173.82 us/op 1.01
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6903 ms/op 776.31 us/op 2.18
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9321 ms/op 1.4084 ms/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9253 ms/op 1.3812 ms/op 1.39
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.3725 ms/op 3.3097 ms/op 1.32
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2564 ms/op 1.4796 ms/op 1.53
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.2502 ms/op 3.1522 ms/op 1.35
Tree 40 250000 create 290.03 ms/op 194.81 ms/op 1.49
Tree 40 250000 get(125000) 164.81 ns/op 130.25 ns/op 1.27
Tree 40 250000 set(125000) 759.92 ns/op 581.50 ns/op 1.31
Tree 40 250000 toArray() 20.936 ms/op 12.628 ms/op 1.66
Tree 40 250000 iterate all - toArray() + loop 22.567 ms/op 17.214 ms/op 1.31
Tree 40 250000 iterate all - get(i) 60.141 ms/op 49.030 ms/op 1.23
Array 250000 create 3.5257 ms/op 2.4385 ms/op 1.45
Array 250000 clone - spread 1.4949 ms/op 1.2109 ms/op 1.23
Array 250000 get(125000) 0.42200 ns/op 0.61500 ns/op 0.69
Array 250000 set(125000) 0.46700 ns/op 0.62400 ns/op 0.75
Array 250000 iterate all - loop 85.815 us/op 81.415 us/op 1.05
phase0 afterProcessEpoch - 250000 vs - 7PWei 53.180 ms/op 45.861 ms/op 1.16
Array.fill - length 1000000 3.6390 ms/op 2.5600 ms/op 1.42
Array push - length 1000000 19.926 ms/op 16.931 ms/op 1.18
Array.get 0.30181 ns/op 0.26999 ns/op 1.12
Uint8Array.get 0.44658 ns/op 0.35104 ns/op 1.27
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.569 ms/op 20.370 ms/op 1.01
altair processEpoch - mainnet_e81889 306.29 ms/op 236.76 ms/op 1.29
mainnet_e81889 - altair beforeProcessEpoch 20.022 ms/op 20.063 ms/op 1.00
mainnet_e81889 - altair processJustificationAndFinalization 16.720 us/op 16.357 us/op 1.02
mainnet_e81889 - altair processInactivityUpdates 6.0798 ms/op 5.0121 ms/op 1.21
mainnet_e81889 - altair processRewardsAndPenalties 49.498 ms/op 51.223 ms/op 0.97
mainnet_e81889 - altair processRegistryUpdates 4.1810 us/op 3.2940 us/op 1.27
mainnet_e81889 - altair processSlashings 1.2620 us/op 1.2490 us/op 1.01
mainnet_e81889 - altair processEth1DataReset 925.00 ns/op 1.1750 us/op 0.79
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.3792 ms/op 1.1595 ms/op 2.05
mainnet_e81889 - altair processSlashingsReset 6.9280 us/op 7.0710 us/op 0.98
mainnet_e81889 - altair processRandaoMixesReset 7.3830 us/op 7.2100 us/op 1.02
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0590 us/op 1.4560 us/op 0.73
mainnet_e81889 - altair processParticipationFlagUpdates 1.9730 us/op 4.4630 us/op 0.44
mainnet_e81889 - altair processSyncCommitteeUpdates 762.00 ns/op 1.5110 us/op 0.50
mainnet_e81889 - altair afterProcessEpoch 51.966 ms/op 46.116 ms/op 1.13
capella processEpoch - mainnet_e217614 1.1849 s/op 917.81 ms/op 1.29
mainnet_e217614 - capella beforeProcessEpoch 69.122 ms/op 69.282 ms/op 1.00
mainnet_e217614 - capella processJustificationAndFinalization 15.635 us/op 12.721 us/op 1.23
mainnet_e217614 - capella processInactivityUpdates 18.151 ms/op 15.571 ms/op 1.17
mainnet_e217614 - capella processRewardsAndPenalties 239.84 ms/op 230.62 ms/op 1.04
mainnet_e217614 - capella processRegistryUpdates 14.649 us/op 18.642 us/op 0.79
mainnet_e217614 - capella processSlashings 601.00 ns/op 1.0890 us/op 0.55
mainnet_e217614 - capella processEth1DataReset 460.00 ns/op 994.00 ns/op 0.46
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.203 ms/op 4.7622 ms/op 2.98
mainnet_e217614 - capella processSlashingsReset 3.8760 us/op 6.2540 us/op 0.62
mainnet_e217614 - capella processRandaoMixesReset 6.8070 us/op 6.9200 us/op 0.98
mainnet_e217614 - capella processHistoricalRootsUpdate 779.00 ns/op 984.00 ns/op 0.79
mainnet_e217614 - capella processParticipationFlagUpdates 3.0550 us/op 1.6850 us/op 1.81
mainnet_e217614 - capella afterProcessEpoch 129.71 ms/op 107.81 ms/op 1.20
phase0 processEpoch - mainnet_e58758 384.91 ms/op 334.80 ms/op 1.15
mainnet_e58758 - phase0 beforeProcessEpoch 82.734 ms/op 74.030 ms/op 1.12
mainnet_e58758 - phase0 processJustificationAndFinalization 19.801 us/op 14.705 us/op 1.35
mainnet_e58758 - phase0 processRewardsAndPenalties 30.785 ms/op 26.760 ms/op 1.15
mainnet_e58758 - phase0 processRegistryUpdates 9.5060 us/op 10.468 us/op 0.91
mainnet_e58758 - phase0 processSlashings 604.00 ns/op 1.1710 us/op 0.52
mainnet_e58758 - phase0 processEth1DataReset 466.00 ns/op 1.0250 us/op 0.45
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4394 ms/op 837.59 us/op 1.72
mainnet_e58758 - phase0 processSlashingsReset 2.7390 us/op 3.3610 us/op 0.81
mainnet_e58758 - phase0 processRandaoMixesReset 5.4010 us/op 7.0390 us/op 0.77
mainnet_e58758 - phase0 processHistoricalRootsUpdate 513.00 ns/op 996.00 ns/op 0.52
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1820 us/op 5.3120 us/op 0.79
mainnet_e58758 - phase0 afterProcessEpoch 45.346 ms/op 37.581 ms/op 1.21
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4020 ms/op 1.0910 ms/op 1.29
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.2171 ms/op 1.4562 ms/op 1.52
altair processInactivityUpdates - 250000 normalcase 16.649 ms/op 17.505 ms/op 0.95
altair processInactivityUpdates - 250000 worstcase 19.253 ms/op 15.462 ms/op 1.25
phase0 processRegistryUpdates - 250000 normalcase 11.104 us/op 11.332 us/op 0.98
phase0 processRegistryUpdates - 250000 badcase_full_deposits 398.25 us/op 364.67 us/op 1.09
phase0 processRegistryUpdates - 250000 worstcase 0.5 122.91 ms/op 101.95 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 38.608 ms/op 42.549 ms/op 0.91
altair processRewardsAndPenalties - 250000 worstcase 44.691 ms/op 43.151 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 8.8171 ms/op 7.2831 ms/op 1.21
phase0 getAttestationDeltas - 250000 worstcase 7.7963 ms/op 6.6405 ms/op 1.17
phase0 processSlashings - 250000 worstcase 107.89 us/op 89.574 us/op 1.20
altair processSyncCommitteeUpdates - 250000 124.06 ms/op 106.12 ms/op 1.17
BeaconState.hashTreeRoot - No change 249.00 ns/op 501.00 ns/op 0.50
BeaconState.hashTreeRoot - 1 full validator 102.70 us/op 141.20 us/op 0.73
BeaconState.hashTreeRoot - 32 full validator 1.0486 ms/op 1.3649 ms/op 0.77
BeaconState.hashTreeRoot - 512 full validator 10.699 ms/op 14.239 ms/op 0.75
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 116.67 us/op 101.72 us/op 1.15
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8397 ms/op 1.4614 ms/op 1.26
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 21.670 ms/op 18.227 ms/op 1.19
BeaconState.hashTreeRoot - 1 balances 100.58 us/op 80.925 us/op 1.24
BeaconState.hashTreeRoot - 32 balances 857.20 us/op 680.27 us/op 1.26
BeaconState.hashTreeRoot - 512 balances 7.8737 ms/op 6.2690 ms/op 1.26
BeaconState.hashTreeRoot - 250000 balances 162.76 ms/op 182.12 ms/op 0.89
aggregationBits - 2048 els - zipIndexesInBitList 27.301 us/op 24.066 us/op 1.13
byteArrayEquals 32 54.734 ns/op 48.865 ns/op 1.12
Buffer.compare 32 17.282 ns/op 16.630 ns/op 1.04
byteArrayEquals 1024 1.6055 us/op 1.3164 us/op 1.22
Buffer.compare 1024 30.252 ns/op 24.993 ns/op 1.21
byteArrayEquals 16384 25.573 us/op 21.120 us/op 1.21
Buffer.compare 16384 177.50 ns/op 202.25 ns/op 0.88
byteArrayEquals 123687377 192.92 ms/op 155.22 ms/op 1.24
Buffer.compare 123687377 6.9399 ms/op 4.8817 ms/op 1.42
byteArrayEquals 32 - diff last byte 52.532 ns/op 47.511 ns/op 1.11
Buffer.compare 32 - diff last byte 17.411 ns/op 16.456 ns/op 1.06
byteArrayEquals 1024 - diff last byte 1.6106 us/op 1.2906 us/op 1.25
Buffer.compare 1024 - diff last byte 25.118 ns/op 24.688 ns/op 1.02
byteArrayEquals 16384 - diff last byte 25.476 us/op 20.539 us/op 1.24
Buffer.compare 16384 - diff last byte 184.79 ns/op 207.28 ns/op 0.89
byteArrayEquals 123687377 - diff last byte 193.83 ms/op 153.34 ms/op 1.26
Buffer.compare 123687377 - diff last byte 9.8268 ms/op 4.0641 ms/op 2.42
byteArrayEquals 32 - random bytes 5.3520 ns/op 5.0550 ns/op 1.06
Buffer.compare 32 - random bytes 18.417 ns/op 16.568 ns/op 1.11
byteArrayEquals 1024 - random bytes 5.4100 ns/op 4.9670 ns/op 1.09
Buffer.compare 1024 - random bytes 17.603 ns/op 16.112 ns/op 1.09
byteArrayEquals 16384 - random bytes 5.3520 ns/op 5.0040 ns/op 1.07
Buffer.compare 16384 - random bytes 17.515 ns/op 15.987 ns/op 1.10
byteArrayEquals 123687377 - random bytes 6.5200 ns/op 7.9800 ns/op 0.82
Buffer.compare 123687377 - random bytes 18.750 ns/op 18.930 ns/op 0.99
regular array get 100000 times 35.919 us/op 31.158 us/op 1.15
wrappedArray get 100000 times 33.395 us/op 31.103 us/op 1.07
arrayWithProxy get 100000 times 13.286 ms/op 10.926 ms/op 1.22
ssz.Root.equals 46.888 ns/op 44.564 ns/op 1.05
byteArrayEquals 46.165 ns/op 43.346 ns/op 1.07
Buffer.compare 10.623 ns/op 9.4000 ns/op 1.13
processSlot - 1 slots 14.375 us/op 10.617 us/op 1.35
processSlot - 32 slots 2.5992 ms/op 2.3299 ms/op 1.12
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.897 ms/op 37.616 ms/op 1.03
getCommitteeAssignments - req 1 vs - 250000 vc 2.1545 ms/op 1.7606 ms/op 1.22
getCommitteeAssignments - req 100 vs - 250000 vc 4.0990 ms/op 3.4912 ms/op 1.17
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4713 ms/op 3.7346 ms/op 1.20
findModifiedValidators - 10000 modified validators 247.88 ms/op 242.56 ms/op 1.02
findModifiedValidators - 1000 modified validators 173.21 ms/op 162.34 ms/op 1.07
findModifiedValidators - 100 modified validators 183.84 ms/op 140.85 ms/op 1.31
findModifiedValidators - 10 modified validators 172.88 ms/op 145.54 ms/op 1.19
findModifiedValidators - 1 modified validators 155.93 ms/op 154.68 ms/op 1.01
findModifiedValidators - no difference 151.28 ms/op 139.87 ms/op 1.08
compare ViewDUs 3.2263 s/op 3.4438 s/op 0.94
compare each validator Uint8Array 1.8369 s/op 794.90 ms/op 2.31
compare ViewDU to Uint8Array 1.0060 s/op 739.16 ms/op 1.36
migrate state 1000000 validators, 24 modified, 0 new 785.74 ms/op 657.11 ms/op 1.20
migrate state 1000000 validators, 1700 modified, 1000 new 1.0302 s/op 901.26 ms/op 1.14
migrate state 1000000 validators, 3400 modified, 2000 new 1.2617 s/op 1.2234 s/op 1.03
migrate state 1500000 validators, 24 modified, 0 new 800.48 ms/op 629.67 ms/op 1.27
migrate state 1500000 validators, 1700 modified, 1000 new 961.09 ms/op 956.04 ms/op 1.01
migrate state 1500000 validators, 3400 modified, 2000 new 1.2205 s/op 1.1078 s/op 1.10
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.5900 ns/op 6.9300 ns/op 0.66
state getBlockRootAtSlot - 250000 vs - 7PWei 686.60 ns/op 1.0704 us/op 0.64
computeProposers - vc 250000 7.5640 ms/op 7.1772 ms/op 1.05
computeEpochShuffling - vc 250000 42.574 ms/op 37.156 ms/op 1.15
getNextSyncCommittee - vc 250000 135.81 ms/op 108.29 ms/op 1.25
computeSigningRoot for AttestationData 25.176 us/op 21.452 us/op 1.17
hash AttestationData serialized data then Buffer.toString(base64) 1.6253 us/op 1.2027 us/op 1.35
toHexString serialized data 942.79 ns/op 785.72 ns/op 1.20
Buffer.toString(base64) 197.96 ns/op 156.29 ns/op 1.27
nodejs block root to RootHex using toHex 150.32 ns/op 150.28 ns/op 1.00
nodejs block root to RootHex using toRootHex 97.986 ns/op 104.96 ns/op 0.93
browser block root to RootHex using the deprecated toHexString 233.44 ns/op 218.87 ns/op 1.07
browser block root to RootHex using toHex 187.27 ns/op 178.22 ns/op 1.05
browser block root to RootHex using toRootHex 171.68 ns/op 164.11 ns/op 1.05

by benchmarkbot/action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant